--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / TutorialModal.vue
Displaying Raw • Download
meshchatx/src/frontend/components/TutorialModal.vue fda9187e95d8b9cc8373c1de23cefce6928c241d (fda9187e) Text, 64.50 KB
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72v-dialog
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3isPageTa5d6ff"
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3visibleTa5d6ff"
Tb4b4b4:Te6edf3fullscreenTff7b72=Ta5d6ff"Te6edf3isMobileTa5d6ff"
Te6edf3max-widthTff7b72=Ta5d6ff"800"
Te6edf3transitionTff7b72=Ta5d6ff"dialog-bottom-transition"
Te6edf3classTff7b72=Ta5d6ff"tutorial-dialog"
Te6edf3persistent
Tb4b4b4@Te6edf3updateTb4b4b4:Te6edf3model-valueTff7b72=Ta5d6ff"Te6edf3onVisibleUpdateTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-card Te6edf3classTff7b72=Ta5d6ff"flex flex-col h-full bg-white dark:bg-zinc-950 border-0 overflow-hidden relative"Tb4b4b4>
T8b949e<!-- Settings Controls -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute top-4 left-4 z-50 flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72LanguageSelector Tb4b4b4@Te6edf3language-changeTff7b72=Ta5d6ff"Te6edf3onLanguageChangeTa5d6ff" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"rounded-full p-1.5 sm:p-2 text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'Switch to light mode' Tff7b72: Ta5d6ff'Switch to dark mode'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleThemeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'brightness-6' Tff7b72: Ta5d6ff'brightness-4'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5 sm:w-6 sm:h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Progress Bar -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-1.5 bg-gray-100 dark:bg-zinc-900 overflow-hidden flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3step Tff7b72in Te6edf3totalStepsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3stepTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-full transition-all duration-500 ease-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3currentStep Tff7b72>= Te6edf3step Tff7b72? Ta5d6ff'bg-blue-500' Tff7b72: Ta5d6ff'bg-transparent'Tb4b4b4,
Te6edf3currentStep Tff7b72=== Te6edf3step Tff7b72? Ta5d6ff'flex-[2]' Tff7b72: Ta5d6ff'flex-1'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3borderRightTff7b72: Te6edf3step Tff7b72< Te6edf3totalSteps Tff7b72? Ta5d6ff'1px solid rgba(0,0,0,0.05)' Tff7b72: Ta5d6ff'none' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Content Area -->
Tb4b4b4<Tff7b72v-card-text Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto px-6 md:px-12 py-10 relative"Tb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade-slide" Te6edf3modeTff7b72=Ta5d6ff"out-in"Tb4b4b4>
T8b949e<!-- Step 1: Welcome -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff1Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step1" Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-24 h-24 bg-blue-500/10 rounded-3xl rotate-12 absolute -inset-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72img Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3logoUrlTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-24 h-24 relative z-10 p-2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h1 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black tracking-tight text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome"Tb4b4b4) Tff7b72}} Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>MeshChatXTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-md mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-4 w-full mt-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-lock" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-map-marker-path" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-tools" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-cancel" Te6edf3colorTff7b72=Ta5d6ff"amber" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-keyboard-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-translate" Te6edf3colorTff7b72=Ta5d6ff"cyan" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full flex justify-end items-center gap-2 mt-4 px-4 text-gray-400 dark:text-zinc-500"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold uppercase tracking-widest"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.more_features"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Step 2: Add Interface -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff2Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step2" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
T8b949e<!-- Community Interfaces -->
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-gray-50 dark:bg-zinc-900 rounded-3xl p-3 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-3 px-2 text-sm"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-web" Te6edf3colorTff7b72=Ta5d6ff"blue"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.suggested_networks"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2 max-h-[260px] overflow-y-auto pr-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3communityInterfacesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between p-3 bg-white dark:bg-zinc-800 rounded-xl border border-gray-100 dark:border-zinc-700 hover:border-blue-400 transition-colors cursor-pointer"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-sm"Tb4b4b4>Tff7b72{{
Te6edf3ifaceTb4b4b4.Te6edf3name
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[11px] text-gray-500 dark:text-zinc-400"
Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72}}:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3onlineTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1 text-[9px] font-bold text-green-500 uppercase tracking-[0.2em]"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.online"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[11px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.use"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3loadingInterfacesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex justify-center py-3"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular Te6edf3indeterminate Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-3 text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"max-w-sm text-center"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.custom_interfaces_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-5 py-2 text-[11px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoAddInterfaceTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_interfaces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Step 3: Documentation & Tools -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff3Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step3" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-book-open-variant" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/meshchatx-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all inline-block"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.meshchatx_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/reticulum-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500 inline-block"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.reticulum_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-document-edit-outline" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'micron-editor'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 sm:grid-cols-2 gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-earth" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-message-text-outline" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hub" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone-in-talk-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Step 4: Finish -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff4Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"step4"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-8 py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 bg-green-500/10 rounded-full flex items-center justify-center relative"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"80"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute inset-0 bg-green-500/20 rounded-full animate-ping opacity-20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-md mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3interfaceAddedViaTutorialTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-4 bg-amber-50 dark:bg-amber-900/20 rounded-2xl border border-amber-100 dark:border-amber-900/30 text-amber-700 dark:text-amber-400 text-sm flex gap-3 max-w-md text-left"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.docker_note"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-textTb4b4b4>
T8b949e<!-- Footer -->
Tb4b4b4<Tff7b72v-divider Te6edf3classTff7b72=Ta5d6ff"dark:border-zinc-900"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-dividerTb4b4b4>
Tb4b4b4<Tff7b72v-card-actions Te6edf3classTff7b72=Ta5d6ff"px-6 py-6 bg-gray-50 dark:bg-zinc-950/50 flex justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72> T79c0ff1 Tff7b72&& Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-2.5 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentStepTff7b72--Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.back"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-elseTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-2.5 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all opacity-50 hover:opacity-100 hover:bg-gray-50 dark:hover:bg-zinc-700"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold text-sm shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.next"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl bg-emerald-600 hover:bg-emerald-500 text-white font-semibold text-sm shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3finishAndRestartTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_start"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-actionsTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-cardTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-dialogTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"flex flex-col h-full bg-white dark:bg-zinc-950 overflow-hidden relative"Tb4b4b4>
T8b949e<!-- Settings Controls -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute top-4 left-4 z-50 flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72LanguageSelector Tb4b4b4@Te6edf3language-changeTff7b72=Ta5d6ff"Te6edf3onLanguageChangeTa5d6ff" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"rounded-full p-1.5 sm:p-2 text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'Switch to light mode' Tff7b72: Ta5d6ff'Switch to dark mode'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleThemeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'brightness-6' Tff7b72: Ta5d6ff'brightness-4'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5 sm:w-6 sm:h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Progress Bar -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-1.5 bg-gray-100 dark:bg-zinc-900 overflow-hidden flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3step Tff7b72in Te6edf3totalStepsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3stepTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-full transition-all duration-500 ease-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3currentStep Tff7b72>= Te6edf3step Tff7b72? Ta5d6ff'bg-blue-500' Tff7b72: Ta5d6ff'bg-transparent'Tb4b4b4,
Te6edf3currentStep Tff7b72=== Te6edf3step Tff7b72? Ta5d6ff'flex-[2]' Tff7b72: Ta5d6ff'flex-1'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3borderRightTff7b72: Te6edf3step Tff7b72< Te6edf3totalSteps Tff7b72? Ta5d6ff'1px solid rgba(0,0,0,0.05)' Tff7b72: Ta5d6ff'none' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto px-6 md:px-12 py-10"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"max-w-4xl mx-auto h-full flex flex-col justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade-slide" Te6edf3modeTff7b72=Ta5d6ff"out-in"Tb4b4b4>
T8b949e<!-- Step 1: Welcome -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff1Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"step1"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-8 py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 bg-blue-500/10 rounded-3xl rotate-12 absolute -inset-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72img Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3logoUrlTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 relative z-10 p-2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h1 Te6edf3classTff7b72=Ta5d6ff"text-5xl font-black tracking-tight text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome"Tb4b4b4) Tff7b72}} Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>MeshChatXTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 w-full mt-12"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-lock" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-map-marker-path" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-tools" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-cancel" Te6edf3colorTff7b72=Ta5d6ff"amber" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-keyboard-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-translate" Te6edf3colorTff7b72=Ta5d6ff"cyan" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full flex justify-end items-center gap-2 mt-8 px-6 text-gray-400 dark:text-zinc-500"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-base font-bold uppercase tracking-widest"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.more_features"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Step 2: Add Interface -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff2Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step2" Te6edf3classTff7b72=Ta5d6ff"space-y-6 py-8"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 lg:grid-cols-2 gap-6"Tb4b4b4>
T8b949e<!-- Community Interfaces -->
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-gray-50 dark:bg-zinc-900 rounded-[1.5rem] p-5 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-5"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-web" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"26"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.suggested_relays"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3 max-h-[320px] overflow-y-auto pr-3 custom-scrollbar"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3communityInterfacesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between p-3 bg-white dark:bg-zinc-800 rounded-xl border border-gray-100 dark:border-zinc-700 hover:border-blue-400 transition-all cursor-pointer"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-base"Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 font-mono"
Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72}}:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3onlineTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 text-[9px] font-bold text-green-500 uppercase tracking-[0.2em]"
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"w-2 h-2 rounded-full bg-green-500 animate-pulse"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.online"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-4 py-1 text-[11px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.use"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3loadingInterfacesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex justify-center py-4"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular Te6edf3indeterminate Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col justify-center gap-4 text-sm text-gray-900 dark:text-white bg-gray-50 dark:bg-zinc-900 rounded-[1.5rem] p-5 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-base font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.custom_interfaces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"mt-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.custom_interfaces_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-4 py-2 text-[11px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoAddInterfaceTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_interfaces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Step 3: Documentation & Tools -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff3Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step3" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-10"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 p-8 rounded-[2rem] bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-book-open-variant" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"64"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-2xl text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white mb-6"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/meshchatx-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"h-12 rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all inline-flex items-center justify-center px-6"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.read_meshchatx_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/reticulum-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"h-12 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500 inline-flex items-center justify-center px-6"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.reticulum_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 p-8 rounded-[2rem] bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-document-edit-outline" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"64"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-2xl text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white mb-6"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full h-12 rounded-xl bg-orange-600 hover:bg-orange-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'micron-editor'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-earth" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-message-text-outline" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hub" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone-in-talk-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Step 4: Finish -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff4Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"step4"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-10 py-20"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-48 h-48 bg-green-500/10 rounded-full flex items-center justify-center relative"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"120"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute inset-0 bg-green-500/20 rounded-full animate-ping opacity-20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-5xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"p-6 bg-amber-50 dark:bg-amber-900/20 rounded-3xl border border-amber-100 dark:border-amber-900/30 text-amber-700 dark:text-amber-400 flex gap-4 max-w-xl text-left"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline" Te6edf3sizeTff7b72=Ta5d6ff"32" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_required"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"opacity-90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>
T8b949e<!-- Navigation Buttons (Page Mode) -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between items-center mt-12 border-t dark:border-zinc-900 pt-8"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72> T79c0ff1 Tff7b72&& Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentStepTff7b72--Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.back"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-elseTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all opacity-50 hover:opacity-100 hover:bg-gray-50 dark:hover:bg-zinc-700"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-12 h-14 text-lg rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.continue"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-12 h-14 text-lg rounded-xl bg-emerald-600 hover:bg-emerald-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3finishAndRestartTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_start"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3logoUrl Tff7b72from Ta5d6ff"../assets/images/logo.png"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../js/ToastUtils"Tb4b4b4;
Tff7b72import Te6edf3DialogUtils Tff7b72from Ta5d6ff"../js/DialogUtils"Tb4b4b4;
Tff7b72import Te6edf3ElectronUtils Tff7b72from Ta5d6ff"../js/ElectronUtils"Tb4b4b4;
Tff7b72import Te6edf3GlobalState Tff7b72from Ta5d6ff"../js/GlobalState"Tb4b4b4;
Tff7b72import Te6edf3LanguageSelector Tff7b72from Ta5d6ff"./LanguageSelector.vue"Tb4b4b4;
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"./MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"TutorialModal"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3LanguageSelectorTb4b4b4,
Te6edf3MaterialDesignIconTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3visibleTff7b72: Tff7b72falseTb4b4b4,
Te6edf3currentStepTff7b72: T79c0ff1Tb4b4b4,
Te6edf3totalStepsTff7b72: T79c0ff4Tb4b4b4,
Te6edf3logoUrlTb4b4b4,
Te6edf3communityInterfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3loadingInterfacesTff7b72: Tff7b72falseTb4b4b4,
Te6edf3interfaceAddedViaTutorialTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3isPageTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3metaTff7b72?Tb4b4b4.Te6edf3isPage Tff7b72=== Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isMobileTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657windowTb4b4b4.Te6edf3innerWidth Tff7b72< T79c0ff640Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3configTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Tff7b72async Te6edf3toggleThemeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3newTheme Tff7b72= Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff"dark" Tff7b72? Ta5d6ff"light" Tff7b72: Ta5d6ff"dark"Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3themeTff7b72: Te6edf3newThemeTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72= Te6edf3newThemeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to update theme:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onLanguageChangeTb4b4b4(Te6edf3langCodeTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3languageTff7b72: Te6edf3langCodeTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3$i18nTb4b4b4.Te6edf3locale Tff7b72= Te6edf3langCodeTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3language Tff7b72= Te6edf3langCodeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to update language:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3showTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff1Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingInterfaces Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/community-interfaces"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3communityInterfaces Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3interfacesTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load community interfaces:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingInterfaces Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/interfaces/add"Tb4b4b4, Tb4b4b4{
Te6edf3nameTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3typeTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4,
Te6edf3target_hostTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3target_hostTb4b4b4,
Te6edf3target_portTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3target_portTb4b4b4,
Te6edf3enabledTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff`Ta5d6ffAdded interface: Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72trueTb4b4b4;
T8b949e// track change
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3addTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3nextStepTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Ta5d6ff"Failed to add interface"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3gotoAddInterfaceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/interfaces/add" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3gotoRouteTb4b4b4(Te6edf3routeNameTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3nameTff7b72: Te6edf3routeName Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3nextStepTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72< Tff7b72thisTb4b4b4.Te6edf3totalStepsTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentStepTff7b72++Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3skipTutorialTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3markSeenTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3axiosTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/app/tutorial/seen"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to mark tutorial as seen:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3finishAndRestartTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ElectronUtilsTb4b4b4.Te6edf3isElectronTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3ElectronUtilsTb4b4b4.Te6edf3relaunchTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorialTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Ta5d6ff"Restart the application/container to apply changes."Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onVisibleUpdateTb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3valTb4b4b4) Tb4b4b4{
T8b949e// if closed by clicking away, mark as seen so it doesn't pop up again
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72style Te6edf3scopedTb4b4b4>
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-fieldTff7b72) Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff1Tffa657rem Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field--variant-outlined Tb4b4b4.T56d364v-field__outlineTff7b72) Tb4b4b4{
Te6edf3--v-field-border-opacityTb4b4b4: T79c0ff0.15Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field--focused Tb4b4b4.T56d364v-field__outlineTff7b72) Tb4b4b4{
Te6edf3--v-field-border-opacityTb4b4b4: T79c0ff1Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field__inputTff7b72) Tb4b4b4{
Tff7b72padding-topTb4b4b4: T79c0ff24Tffa657px Tff7b72!importantTb4b4b4;
Tff7b72padding-bottomTb4b4b4: T79c0ff8Tffa657px Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-label--floatingTff7b72) Tb4b4b4{
Tff7b72transformTb4b4b4: Tffa657translateYTb4b4b4(T79c0ff-8Tffa657pxTb4b4b4) Tffa657scaleTb4b4b4(T79c0ff0.75Tb4b4b4) Tff7b72!importantTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff800 Tff7b72!importantTb4b4b4;
Tff7b72text-transformTb4b4b4: Tff7b72uppercase Tff7b72!importantTb4b4b4;
Tff7b72letter-spacingTb4b4b4: T79c0ff0.05Tffa657em Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-select Tb4b4b4.T56d364v-theme--lightTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-listTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-itemTff7b72) Tb4b4b4{
Tff7b72background-colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tff7b72colorTb4b4b4: T79c0ff#111827 Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-item-titleTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-item-subtitleTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72inherit Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-listTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-list-itemTff7b72) Tb4b4b4{
Tff7b72background-colorTb4b4b4: T79c0ff#18181b Tff7b72!importantTb4b4b4;
Tff7b72colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field__inputTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72inherit Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-labelTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: T79c0ff#6b7280 Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-labelTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: T79c0ff#a1a1aa Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4.T56d364v-overlay__content Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff2Tffa657rem Tff7b72!importantTb4b4b4;
Tff7b72overflowTb4b4b4: Tff7b72hiddenTb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364fade-slide-enter-activeTff7b72,
Tb4b4b4.T56d364fade-slide-leave-active Tb4b4b4{
Tff7b72transitionTb4b4b4: Tff7b72all T79c0ff0.4Tffa657s Tffa657cubic-bezierTb4b4b4(T79c0ff0.4Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0.2Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364fade-slide-enter-from Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72transformTb4b4b4: Tffa657translateXTb4b4b4(T79c0ff30Tffa657pxTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4.T56d364fade-slide-leave-to Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72transformTb4b4b4: Tffa657translateXTb4b4b4(T79c0ff-30Tffa657pxTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────